<?php
/**
 * Klass för hantering och kontroll av inloggningsinformation
 */
class LoginHandler{
	private $m_db;
	private $m_sessionKey = 'username';
	
	//Sätter mysqli objektet
	public function __construct(Mysqli $db){
		$this->m_db = $db;
	}
	
	//Funktionen returnerar true eller false baserat på om $_SESSION['username'] innehåller ett värde
	public function IsLoggedIn(){
		if(isset($_SESSION[$this->m_sessionKey]) || isset($_COOKIE[$this->m_sessionKey])){
			return true;
		}
		return false;
	}
	//Funktionen kontrollerar $username och $password mot en switchsats, om variablerna matchar sätts 
	//$_SESSION['username'] till $username och true returneras, i annat fall returneras false
	public function DoLogin($username, $password){
		
		$stmt = $this->m_db->prepare("SELECT * FROM user WHERE `username` = ? AND `password` = ? ;");
		$stmt->bind_param("ss", $username, $password);  
		$stmt->execute();
		$stmt->store_result();
		
		if($stmt->num_rows == 1){
			$_SESSION[$this->m_sessionKey] = $username;	
			return true;	
		}

		return false;		
	}
	//Tar bort värdena för alla registrerade sessions variabler
	//(OBS! session_destroy kan inte användas då funktionen kallas vid flera tillfällen i Test())
	public function DoLogout(){
		session_unset();
	}
}
?>